package main

import "fmt"

func main() {
	s := []string{"123", "", "2354", "", "", "3", "AD", "asdf", "", "", "", "dfg"}
	fmt.Println(s[:])
	r := nonempty(s[:])
	//r := nonempty2(s[:])
	fmt.Println(len(r))
	fmt.Println(r)
}

func nonempty(s []string) []string {
	j := 0
	for _, e := range s {
		if e != "" {
			s[j] = e
			j++
		}
	}
	return s[:j]
}

func nonempty2(s []string) []string {
	out := s[:0]
	for _, e := range s {
		if e != "" {
			out = append(out, e)
		}
	}
	return out
}
